/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package app.reputacao;

/**
 *
 * @author Bruno V. G. Alves
 */

public class CalculadoraDeReputacao {
    
    static public Double getNovaReputacao(ResultadoJulgamento resultadoJulgamento){
        
        if(resultadoJulgamento.getConfessou())
            return decrementarAssumiuCulpa(resultadoJulgamento.percentagemCulpa, resultadoJulgamento.getPoderNorma());
        
        return decrementar(resultadoJulgamento.percentagemCulpa, resultadoJulgamento.getPoderNorma());
    }
    
    static public Double decrementar(final double percentualDeCulpa, final double severidadeNorma){
        return - (percentualDeCulpa * severidadeNorma);
    }
    
    static public double decrementarAssumiuCulpa(final double percentualDeCulpa, final double severidadeNorma){
        return decrementar(percentualDeCulpa, severidadeNorma) / 2;
    }
    
    static public double incrementar(final double reputacao, final double qtTempo){
        return reputacao + (reputacao * qtTempo);
    }
}
